#ifndef INTERCONVERSION_H
#define INTERCONVERSION_H

#include <QWidget>
#include <DLineEdit>

DWIDGET_USE_NAMESPACE

class InterConversion : public QWidget
{
    Q_OBJECT

public:
    InterConversion(QWidget *parent = nullptr);
    ~InterConversion();

    void initUi();
    void initConnect();
    void setEditValidator();

public slots:
    void slotBinaryToDeciaml(const QString &str);           //二进制转十进制
    void slotOctalToDeciaml(const QString &str);            //八进制转十进制
    void slotHexToDeciaml(const QString &str);              //十六进制转十进制

    void slotDeciamlToBinary(const QString &str);           //十进制转二进制
    void slotDeciamlToOctal(const QString &str);            //十进制转八进制
    void slotDeciamlToHex(const QString &str);              //十进制转十六进制

private:
    QWidget   *m_intWidget;
    QWidget   *m_floatWidget;

    //整形数
    DLineEdit *m_binary;            //二进制
    DLineEdit *m_octal;             //八进制
    DLineEdit *m_decimal;           //十进制
    DLineEdit *m_hexadecimal;       //十六进制


    //浮点数
    QLineEdit *m_float;
    QLineEdit *m_floatHex;
};

#endif // INTERCONVERSION_H
